﻿using Puri.SkylineGlobe.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Puri.SkylineGlobe.Interfaces
{
    /// <summary>
    /// 3D 地球操作接口
    /// </summary>
    public interface IEarthOperating
    {
        /// <summary>
        /// 是否渲染完成
        /// </summary>
        bool IsReaderCompleted { get; }
        /// <summary>
        /// 渲染地球
        /// </summary>
        /// <returns></returns>
        IRenderResources Render();
        /// <summary>
        /// 绘制
        /// </summary>
        /// <returns></returns>
        IDrawingElements Drawing(DrawingMode mode);
        /// <summary>
        /// 拾取操作
        /// </summary>
        void Pick(Action<PickResult> callback);
        /// <summary>
        /// 飞行漫游
        /// </summary>
        void FlyRoam(double x, double y, double distance, double pitch);
    }
}
